Deep learning is a technology used to cluster or classify objects or data. For example, computers cannot distinguish dogs and cats from photographs alone. But a human can easily distinguish those two. To this end, a method called “machine learning” was devised. It is a technique to allow a computer to classify similar things among lots of data inputted into the computer. When a photo of an animal similar to a dog is inputted, the computer may classify it as a dog photo.
There have already been many machine learning algorithms to classify data. For example, a decision tree, a Bayesian network, a support vector machine (SVM), an artificial neural network, etc. have been developed. The deep learning is a descendant of the artificial neural network.
Deep Convolution Neural Networks (Deep CNNs) are at the heart of the remarkable development in deep learning. CNNs have already been used in the 90's to solve the problems of character recognition, but their use has become as widespread as it is now thanks to recent research. These deep CNNs won the 2012 ImageNet image classification tournament, crushing other competitors. Then, the convolutional neural network became a very useful tool in the field of the machine learning.
FIG. 1 shows an example of various outputs to be acquired from a photograph using a deep CNN according to prior art.
Classification is a method for identifying a type of a class to be acquired from a photograph, for example, as shown in FIG. 1, determining whether an acquired object is a person, a lamb, or a dog. Detection is a method for finding every object and displaying the found object as enclosed in its corresponding bounding box. Segmentation is a method for distinguishing a region of a specific object from other objects in a photograph. As the deep learning has recently become popular, the classification, the detection, and the segmentation are using the deep learning heavily.
FIG. 2 is a simplified drawing of a conventional lane detection method using a CNN, and FIG. 3 is a simplified drawing of a general CNN segmentation process.
First of all, by referring to FIG. 3, according to the conventional lane detection method, a learning device receives an input image, generates encoded feature maps by multiple convolution operations and non-linear operations like ReLU in multiple convolutional layers, and generates a segmentation result by performing multiple deconvolution operations in multiple deconvolutional layers and SoftMax operations on a last one of decoded feature maps.
Also, by referring to FIG. 2, a reference numeral 210 represents the input image, a reference numeral 220 represents the segmentation result, and a reference numeral 230 represents lanes generated by line fitting. The segmentation result 220 according to the conventional lane detection method is comprised of the lanes and a background as illustrated in 220 of FIG. 2. The segmentation result is expressed as probability estimation. Some lane candidates are found by sampling pixels with high probabilities of being on any lane among candidate pixels selected as such, and then the lanes 230 are finally determined by using a lane modeling function acquired from the lane candidate.
However, such the conventional lane detection method has a problem in that it is based on the segmentation result only. In general, the segmentation result itself does not suffice for accurate detection of the lanes. In order to resolve the problem, the method of line fitting by post-processing of the segmentation result is used. However, if the segmentation result is inaccurate, the line fitting will not be much help in the accurate lane detection.